#include <cserver/context.h>
#include <cserver/log.h>
#include <cserver/module.h>

#include <boost/log/trivial.hpp>

#include <iostream>
#include <string>
#include <xirang2/path.h>


int main(int argc, char** argv){
	if (argc != 2){
		std::cout << "Usage cserver <config file>\n";
		return 1;
	}
	csrv::Context context;
	csrv::loadConfig(context.config, argv[1]);
	xirang2::file_path api_cfg_path(context.config.simple_api_config.c_str());
	if (!api_cfg_path.is_absolute())
		api_cfg_path = xirang2::file_path(context.config.config_path.c_str()).parent() / api_cfg_path;
	csrv::loadSimpleApis(api_cfg_path.str().c_str());


	csrv::init_log(context.config.log_file, context.config.log_level); 

	context.start();

	std::cout << "Bye.\n";
}
